<template>
</template>

<script setup>
// 将 Blob 转换为 Base64
const blobToDataURL = (blob) => {
    return new Promise((resolve) => {
        const reader = new FileReader()
        reader.onload = () => resolve(reader.result)
        reader.readAsDataURL(blob)
    })
}

document.addEventListener('paste', async (event) => {
    const items = event.clipboardData?.items
    if (!items) return
    // 2. 遍历剪贴板项，查找图片
    for (const item of items) {
        // 图片
        if (item.type.indexOf('image') !== -1) {
            // 3. 获取图片的 Blob 对象
            const blob = item.getAsFile()
            if (!blob) continue

            // 4. 转换为可用的数据（Base64、URL 或 ArrayBuffer）
            const dataUrl = await blobToDataURL(blob)
            // console.log('Base64数据:', dataUrl)

            // 5. 显示图片（示例）
            const img = document.createElement('img')
            img.src = dataUrl
            document.body.appendChild(img)
            break
        }
        // 文本
        if (item.type.indexOf('text') !== -1) {
            item.getAsString((text) => {
                console.log('剪贴板文本内容:', text)
            })
        }
    }
})
</script>

<style lang="scss"></style>